import cv2
from videos_to_img import split_video
from add_mean import add_mean

add_size = 10  # 相加平均的帧数
dist = 300  # 帧间差

videos_path = './videos/5_7_BiaoJiMian.mp4'  # 原视频的保存路径
img_path = r'E:\studylife\detectflaws\code\python\image\5_7_BiaoJiMian'  # 原视频裁切出的图片的保存路径
save_path = f'E:/studylife/detectflaws/code/python/DuoZhen/5_7_BiaoJiMian/帧间差：{dist} 相加帧：{add_size} .mp4'  # 帧间差后的视频的保存地址加文件名


# 保存视频的初始化步骤
# 设置编/解码方式
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
# cv.VideoWriter()第二种构造函数
result = cv2.VideoWriter(save_path, fourcc, 20.0, (640, 480))


# 该函数用于读取视频并把视频每帧保存为一张图片
# split_video(videos_path, img_path, 1)

# 该循环用于逐帧对红外图像进行多帧相加平均差分处理
for i in range(1, 500):
    # 读取并播放原视频图像
    src = cv2.imread(f'{img_path}/{i}.jpg')
    cv2.imshow('origin', src)
    # 播放经过处理后的图像
    ret = add_mean(i + dist, i, add_size, img_path, )
    # 将一帧一帧图像保存入结果视频
    result.write(ret)
    print(f'\n第{i}帧图像')
    cv2.waitKey(1)

cv2.destroyAllWindows()
